package com.ruoyi.dynamic.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.pojo.result.Pages;
import com.ruoyi.dynamic.model.pojo.entity.RoomSing;
import com.ruoyi.dynamic.model.pojo.request.app.AppRoomSingAddRequest;
import com.ruoyi.dynamic.model.pojo.request.app.AppRoomSingDelRequest;
import com.ruoyi.dynamic.model.pojo.request.app.AppRoomSingSearchRequest;

/**
 * <p>
 * K歌房点歌记录 服务类
 * </p>
 *
 * @author Gnc
 * @since 2025-01-07
 */
public interface IRoomSingService extends IService<RoomSing> {


    /**
     * 点歌列表
     * @param request
     * @return
     */
    Pages<RoomSing> listPage(AppRoomSingSearchRequest request);

    /**
     * 点歌
     */
    boolean add(AppRoomSingAddRequest request, Long userId);

    /**
     * 删除点歌记录
     */
    boolean removeSing(AppRoomSingDelRequest request, Long userId);


    RoomSing verify(Long id);

    /**
     * 置顶
     */
    boolean topSing(AppRoomSingDelRequest request, Long userId);


    /**
     * 播放音乐
     */
    boolean playSing(AppRoomSingDelRequest request, Long userId);

    /**
     * 暂停音乐
     */
    boolean stopSing(AppRoomSingDelRequest request, Long userId);


    /**
     * 判断用户是否点过歌
     */
    boolean isUserSing(Long roomId, Long userId);

}
